package com.lizard.schedule.utils;

import android.content.Context;

/**
 * 工具类Jni层的一些加密
 */
public class JniSecurityUtil {

    static{
        System.loadLibrary("security");
    }

    /**
     * 获取签名
     *
     * @param context
     * @param str
     * @return
     */
    public static native String getSign(Context context, String str);

    /**
     * aes加密
     *
     * @param str
     * @return
     */
    public static String aesEncrypt(String str) throws Exception{
        return ScheduleUtil.parseByte2HexStr(JniSecurityUtil.aesEncrypt(str.getBytes()));
    }

    private static native byte[] aesEncrypt(byte[] bytes);

    /**
     * aes解密
     *
     * @param str aes加密过的内容
     * @return
     */
    public static String aesDecrypt(String str) throws Exception{
        return new String(JniSecurityUtil.aesDecrypt(ScheduleUtil.parseHexStr2Byte(str)));
    }

    private static native byte[] aesDecrypt(byte[] bytes);
}
